/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package otcapp.dto;

import java.sql.Date;
import java.util.ArrayList;
import java.util.List;
import otcapp.entidades.Asunto;
import otcapp.entidades.Oficina;
import otcapp.entidades.Sede;
import otcapp.entidades.TipoPieza;

/**
 *
 * @author diego
 */
public class PiezaDTO {
    
    private Long id;
    private TipoPieza tipo;
    private List<Asunto> asuntos;
    private String identificacion;
    private String nroExpediente;
    private Oficina inicioPieza;
    private Oficina destinoPieza;
    private String observaciones;
    private String emplazamientoDias;
    private String emplazamientoHoras;
    private InternoDTO interno;
    private Sede Sede;
    private Date fechaEntrada;
    private Date fechaSalida;
    private String ubicacion;
    //fecha hasta, se utiliza para buscar piezas por rango de fecha de entrada
    private Date fechaHasta;
    private int diasOTC; //días que lleva la pieza en OTC
    private boolean finalizada;

    public List<Asunto> getAsuntos() {
        return asuntos;
    }

    public void addAsunto(Asunto nuevoAsunto) {
        if(asuntos == null){
            asuntos = new ArrayList<>();
        }
        asuntos.add(nuevoAsunto);
    }

    public void setAsuntos(List<Asunto> asuntos) {
        this.asuntos = asuntos;
    }
    
    public Oficina getDestinoPieza() {
        return destinoPieza;
    }

    public void setDestinoPieza(Oficina destinoPieza) {
        this.destinoPieza = destinoPieza;
    }

    public String getEmplazamientoDias() {
        return emplazamientoDias;
    }

    public void setEmplazamientoDias(String emplazamientoDias) {
        this.emplazamientoDias = emplazamientoDias;
    }

    public String getEmplazamientoHoras() {
        return emplazamientoHoras;
    }

    public void setEmplazamientoHoras(String emplazamientoHoras) {
        this.emplazamientoHoras = emplazamientoHoras;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getIdentificacion() {
        return identificacion;
    }

    public void setIdentificacion(String identificacion) {
        this.identificacion = identificacion;
    }

    public Oficina getInicioPieza() {
        return inicioPieza;
    }

    public void setInicioPieza(Oficina inicioPieza) {
        this.inicioPieza = inicioPieza;
    }

    public InternoDTO getInterno() {
        return interno;
    }

    public void setInterno(InternoDTO interno) {
        this.interno = interno;
    }

    public String getNroExpediente() {
        return nroExpediente;
    }

    public void setNroExpediente(String nroExpediente) {
        this.nroExpediente = nroExpediente;
    }

    public String getObservaciones() {
        return observaciones;
    }

    public void setObservaciones(String observaciones) {
        this.observaciones = observaciones;
    }

    public TipoPieza getTipo() {
        return tipo;
    }

    public void setTipo(TipoPieza tipo) {
        this.tipo = tipo;
    }

    public Sede getSede() {
        return Sede;
    }

    public void setSede(Sede sede) {
        this.Sede = sede;
    }

    public String getUbicacion() {
        return ubicacion;
    }

    public void setUbicacion(String ubicacion) {
        this.ubicacion = ubicacion;
    }

    public Date getFechaEntrada() {
        return fechaEntrada;
    }

    public void setFechaEntrada(Date fechaEntrada) {
        this.fechaEntrada = fechaEntrada;
    }
    
    public void setFechaEntrada(Long time) {
        fechaEntrada = new Date(time);
    }

    public Date getFechaHasta() {
        return fechaHasta;
    }

    public void setFechaHasta(Date fechaHasta) {
        this.fechaHasta = fechaHasta;
    }
    
    public void setFechaHasta(Long time) {
        fechaHasta = new Date(time);
    }

    public Date getFechaSalida() {
        return fechaSalida;
    }

    public void setFechaSalida(Date fechaSalida) {
        this.fechaSalida = fechaSalida;
    }
    
    public void setFechaSalida(Long time) {
        this.fechaSalida = new Date(time);
    }
    
    public String getCodigosAsuntos(){
        String codigo="";
        for (Asunto asunto : asuntos) {
            codigo = codigo+"-"+asunto.getCodigoAsunto();
        }
        return codigo;
    }

    public int getDiasOTC() {
        return diasOTC;
    }

    public void setDiasOTC(int diasOTC) {
        this.diasOTC = diasOTC;
    }

    public boolean isFinalizada() {
        return finalizada;
    }

    public void setFinalizada(boolean finalizada) {
        this.finalizada = finalizada;
    }
}
